#include "llvm/Pass.h"
#include "llvm/Function.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/InstIterator.h"
#include "Function.h"

using namespace llvm;

namespace LLVMDecompiler {
  	class Decompile : public FunctionPass {

        public:    

            static char ID;
        	Decompile() : FunctionPass(ID) {}

            virtual bool runOnFunction(Function &F) {
                DeFunction.setFunctionName(F.getName());

                for (inst_iterator I = inst_begin(&F), E = inst_end(&F); I != E; ++I)
                {
                    
                }

                return false;
            }

        private:
            DecompiledFunction DeFunction;
    };
  
  	char Decompile::ID = 0;
  	static RegisterPass<Decompile> X("decompile", "Decompile Pass", false, false);
}

